const { Tree } = require('./treeMethods');

const list = [
  {
    id: 1,
    parentId: 0,
    data: "我是第一层"
  },
  {
    id: 2,
    parentId: 1,
    data: "我是第二层"
  },
  {
    id: 3,
    parentId: 2,
    data: "我是第三层"
  },
  {
    id: 4,
    parentId: 3,
    data: "我是第四层"
  },
  {
    id: 5,
    parentId: 4,
    data: "我是第五层"
  },
];

// const list = [
//   {
//     "id": 1,
//     "parentId": 0,
//     "data": "我是第一层",
//     "children": [
//       {
//         "id": 2,
//         "parentId": 1,
//         "data": "我是第二层",
//         "children": [
//           {
//             "id": 3,
//             "parentId": 2,
//             "data": "我是第三层",
//             "children": [
//               {
//                 "id": 4,
//                 "parentId": 3,
//                 "data": "我是第四层",
//                 "children": [
//                   {
//                     "id": 5,
//                     "parentId": 4,
//                     "data": "我是第五层",
//                     "children": [],
//                     "leaf": true
//                   }
//                 ],
//                 "leaf": false
//               }
//             ],
//             "leaf": false
//           }
//         ],
//         "leaf": false
//       }
//     ],
//     "leaf": false
//   }
// ];

const tree = new Tree(list, false, { rootId: 1 });

// const newNode = {
//   id: 31,
//   parentId: 2,
//   data: "我是新增的第三层"
// }

// console.log("树的深度", JSON.stringify(tree.getDepth()));
// console.log("获取根节点", JSON.stringify(tree.getRoot()));
// console.log("直系父节点", JSON.stringify(tree.findParentNode(3), null, 2));
// console.log("子节点", JSON.stringify(tree.findSubTree(3), null, 2));
// console.log("单节点", JSON.stringify(tree.findOneNode(3), null, 2));
// console.log("树结构", JSON.stringify(tree.getTree(), null, 2));
// console.log("一维数组", JSON.stringify(tree.getArray(), null, 2));
// console.log("原数据", JSON.stringify(tree.getSource(), null, 2));
// console.log("修改某个节点", tree.update(1, "你好"));
// console.log("删除某一个节点", tree.remove(3));
// console.log("给某个节点追加一个子节点", tree.append(3, newNode));
// console.log("在某个节点之前添加一个节点", tree.insertBefore(3, newNode));
// console.log("在某个节点之前添加一个节点", tree.insertAfter(3, newNode));

